package edu.pku.sei.transformation.mtparser;

public interface ArgumentVisitor
{
    void visit(AstToken n, Object o);
    void visit(RuleSemantics n, Object o);
    void visit(BasicRuleSemantics n, Object o);
    void visit(CheckMode n, Object o);
    void visit(EnforceMode n, Object o);
    void visit(ExtendMode n, Object o);
    void visit(CommaExpr n, Object o);
    void visit(SingleExpr n, Object o);
    void visit(AndExpr n, Object o);
    void visit(OrExpr n, Object o);
    void visit(NotExpr n, Object o);
    void visit(ExistoneExpr n, Object o);
    void visit(ForallExpr n, Object o);
    void visit(EqualExpr n, Object o);
    void visit(EvalExpr n, Object o);
    void visit(ExclusiveExpr n, Object o);
    void visit(UnionExpr n, Object o);
    void visit(AssignExpr n, Object o);
    void visit(NewExpr n, Object o);
    void visit(DeleteExpr n, Object o);
    void visit(ParenAtomicExpr n, Object o);
    void visit(UserDefinedVarExpr n, Object o);
    void visit(Name n, Object o);
    void visit(StringConst n, Object o);
    void visit(IntConst n, Object o);
    void visit(RealConst n, Object o);
    void visit(NullConst n, Object o);
    void visit(InvalidConst n, Object o);
    void visit(FullMatchExpr n, Object o);
    void visit(PartialMatchExpr n, Object o);
    void visit(AttributeExpr n, Object o);
    void visit(OperationExpr n, Object o);
    void visit(Params n, Object o);
    void visit(IfExpr0 n, Object o);
    void visit(IfExpr1 n, Object o);
    void visit(PredefinedVarExpr0 n, Object o);
    void visit(PredefinedVarExpr1 n, Object o);
    void visit(PredefinedVarExpr2 n, Object o);
    void visit(PredefinedVarExpr3 n, Object o);
    void visit(BooleanConst0 n, Object o);
    void visit(BooleanConst1 n, Object o);

    void visit(Ast n, Object o);
}

